package com.onlinevideo.service;


import com.onlinevideo.entity.Page;
import com.onlinevideo.entity.User;
import org.apache.commons.fileupload.FileItem;

import java.util.List;

public interface UserService {
    /***
     * 插入用户信息
     * @param user 用户信息
     * @return int
     */
    int insert(User user);

    /***
     *  更新用户信息
     * @param user 用户信息
     * @return int
     */
    int update(User user) ;

    int insertBg(User user);
    /***
     * 删除用户信息
     * @param id 用户编号
     * @return int
     */
    int delete(Long id);

    /***
     * 查询单条用户信息
     * @param id 用户编号
     * @return User
     */
    User queryById(Long id);

    /***
     * 查询全部用户信息
     * @return List<User>
     */
    List<User> queryAll();

    /***
     *
     * 根据查询条件进行查询数据
     * @param user 查询条件
     * @return User 返回单个查询结果
     */
    User queryByUsernameAndPassword(User user);

    /***
     *
     * 根据查询条件进行查询数据
     * @param username 用户名
     * @return Integer 返回单个查询结果
     */
    Long queryByUsername(String username);

    /***
     *
     * 根据查询条件进行查询数据
     * @param user 需要查询的对象，不为空的属性为查询条件
     * @return List<User> 返回单个查询结果
     */
    List<User> queryDynamic(User user);

    List<User> queryLike(String username,String phone);


    Long queryByMaxId();

    public Page<User> queryByPage(Integer pageSize, Integer pageNo) ;

    public Integer queryForPageTotalCount() ;


    String uploadLogo(List<FileItem> fileDomain) throws Exception;
}
